#ifndef GAMELEVELSTATE_H
#define GAMELEVELSTATE_H

#include <string>
#include <map>
#include <vector>
#include <list>

#include "Level.h"

class GameLevelState
{
    public:
        GameLevelState(string Campaign, string LevelMap, string Level);
        GameLevelState(string Campaign, string LevelMap, string Level, string LevelFileName, string State);
        virtual ~GameLevelState();

        string GetState() {return currentState;}
        void SetState(string state) {currentState = state; seenByLevelMap = false;}

        bool GetSeenByLevelMap() {return seenByLevelMap;}
        void SetSeenByLevelMap(bool seen) {seenByLevelMap = seen;}

        string GetCampaignName() {return campaignName;}
        string GetLevelMapName() {return levelMapName;}
        string GetLevelName() {return levelName;}

    protected:
        string campaignName;
        string levelMapName;
        string levelName;
        string levelFileName;
        string currentState;
        bool seenByLevelMap;
    private:
};

#endif // GAMELEVELSTATE_H
